package com.erp.app.report.genericInquiry;

import java.util.Locale;

import com.erp.app.common.ProjectConstants;


public class GenericInquiryConstants {
    // General Constants
    public static final String YES = ProjectConstants.GENERIC_YES;
    public static final String YES_WITH_BLANK = "YB";
    public static final String NO = ProjectConstants.GENERIC_NO;
    public static final String MODULE_PREFIX = "";
    public static final String REQUEST_KEY_INQUIRY_TYPE = "type";

    // Delimiter
    public static final String DELIMITER_MULTIPLE_DROP_DOWN = "\u007F";
    public static final String DELIMITER_MULTIPLE_POPUP = DELIMITER_MULTIPLE_DROP_DOWN;

    // Criteria Field Types
    public static final String FIELD_TYPE_TEXT = "TEXT";
    public static final String FIELD_TYPE_TEXT_FM_TO = "TEXT_FM_TO";
    public static final String FIELD_TYPE_TEXT_FM_TO_OC = "TEXT_FM_TO_OC";
    
    public static final String FIELD_TYPE_DROP_DOWN = "DROP_DOWN";
    public static final String FIELD_TYPE_DROP_DOWN_OC = "DROP_DOWN_OC";
    public static final String FIELD_TYPE_DROP_DOWN_FM_TO = "DROP_DOWN_FM_TO";
    public static final String FIELD_TYPE_MULTIPLE_DROP_DOWN = "M_DROP_DOWN";
    
    public static final String FIELD_TYPE_POPUP_SELECT = "POP_SELECT";
    public static final String FIELD_TYPE_POPUP_SELECT_MULTIPLE = "M_POP_SELECT";
    public static final String FIELD_TYPE_POPUP_SELECT_TEXT = "POP_SELECT_TEXT";
    
    public static final String FIELD_TYPE_MULTIBOX = "MULTIBOX";
    public static final String FIELD_TYPE_MULTIBOX_HORIZONTAL = "MULTIBOX_H";

    // Data Type
    public static final String DATA_TYPE_DATE = "DATE";
    public static final String DATA_TYPE_NUMERIC = "NUMERIC";
    public static final String DATA_TYPE_POSITIVE_NUMERIC = "POS_NUM";
    public static final String DATA_TYPE_NEGATIVE_NUMERIC = "NEG_NUM";
    public static final String DATA_TYPE_STRING = "VARCHAR2";
    public static final String DATA_TYPE_INTEGER = "INTEGER";
    public static final String DATA_TYPE_POSITIVE_INTEGER = "POS_INT";
    public static final String DATA_TYPE_NEGATIVE_INTEGER = "NEG_INT";
    public static final String DATA_TYPE_YEAR = "YEAR";
    public static final String DATA_TYPE_MONTH = "MONTH";
    public static final String DATA_TYPE_YEAR_MONTH = "YEAR_MONTH";

    // Flags
    public static final String FLAG_SEARCH_CRITERIA_MANDATORY = YES;
    public static final String FLAG_SEARCH_CRITERIA_MANDATORY_WITH_BLANK = YES_WITH_BLANK;
    public static final String FLAG_HIDDEN = YES;

    // JSP constants
    public static final String ID_MULTIPLE_CHECKBOX = "cb";
    public static final String ID_MULTIPLE_DROP_DOWN = "MDD";
    public static final String ID_TAGGED_HIDDEN = "TAGGED_HIDDEN";

    // Query String constants
    public static final String QUERYSTRING_PREFIX = "<<";
    public static final String QUERYSTRING_SUFFIX = ">>";
    public static final String QUERYSTRING_PLACEHOLDER_COMPANY_CODE = QUERYSTRING_PREFIX + "COMPANY_CODE" + QUERYSTRING_SUFFIX;
    public static final String QUERYSTRING_PLACEHOLDER_USER = QUERYSTRING_PREFIX + "USER" + QUERYSTRING_SUFFIX;
    public static final String QUERYSTRING_PLACEHOLDER_DEPT = QUERYSTRING_PREFIX + "DEPT" + QUERYSTRING_SUFFIX;
    public static final String QUERYSTRING_PLACEHOLDER_CRITERIA_FIELD = QUERYSTRING_PREFIX + "CFIELD"; // no suffix because an integer will always follow the keyword immediately
    
    // Upload Java class type (for user-specific report class)
    public static final String JAVA_TYPE_PDF = "PDF";
    public static final String JAVA_TYPE_CSV = "CSV";
    public static final String JAVA_TYPE_HTM = "HTM";
    public static final String JAVA_TYPE_EXCEL = "EXCEL";

    public static final String SESSION_HAS_LOGIN = "SESSION_HAS_LOGIN";
    public static final String SESSION_UPLOAD_FILE_SKIP_CHECK_SIZE = "SESSION_UPLOAD_FILE_SKIP_CHECK_SIZE";

    // others 
    
    private static Locale defaultLocale = Locale.US; 
    public static Locale getDefaultLocale() {
		return defaultLocale;
	}
    private static String defaultDateFormat = "yyyyMMdd";
    public static String getDefaultDateFormat() {
		return defaultDateFormat;
	}
}
